﻿using System;
using System.Globalization;
using System.Linq;



namespace DailyFx.UI
{
	//public class MenuPartBindingConverter : System.Windows.Data.IValueConverter
	//{

	//	public object Convert( object value, Type targetType, object parameter, CultureInfo culture)
	//	{
	//		if (!(value is IMenu) || parameter == null)
	//		{
	//			return null;
	//		}

	//		var signature = parameter.ToString().Split('.');
	//		if (signature == null && signature.Length != 2)
	//		{
	//			throw new ArgumentException("parameter is not valid, it should be as FORMAT: Interface.Property");
	//		}

	//		string interfaceName = signature[0];
	//		string propertyName = signature[1];

	//		Type interfaceType; 

	//		//
	//		if ( interfaceName != null && interfaceName.Contains('<') )
	//		{
	//			var names = interfaceName.Trim().Split('<', '>');
	//			interfaceType = value.GetType().GetInterfaces()
	//											.Where ( i => names.All(x => i.FullName.Contains(x)) )
	//											.FirstOrDefault();
	//		}
	//		else
	//		{
	//			interfaceType = value.GetType().GetInterfaces()
	//											.Where( i => i.Name == interfaceName)
	//											.FirstOrDefault();
	//		}

	//		if ( interfaceType != null )
	//		{
	//			return interfaceType.GetProperty( propertyName) .GetValue( value, null);
	//		}

	//		return null;
	//	}

	//	public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture)
	//	{
	//		throw new NotImplementedException ();
	//	}

	//}
}
